#pragma once

#include <QObject>

class QState ;
class Pixmap ;

class LoveAnimation : public QObject
{
	Q_OBJECT
public :
	static void generateLoveState( QState *state, Pixmap *item, int radius, int i);//draw Love Word

private :
	static void drawLLetter( QState *state, Pixmap *item, int radius, int i) ;//draw L Letter

	static void drawOLetter( QState *state, Pixmap *item, int radius, int i) ;//draw O Letter

	static void drawVLetter( QState *state, Pixmap *item, int radius, int i) ;//draw V Letter

	static void drawELetter( QState *state, Pixmap *item, int radius, int i) ;//draw E Letter
};

#define DECLARE_SINGLTON_OBJECT(TYPE, NAME) TYPE* NAME()

#define IMPLEMENT_SINGLTON_OBJECT(TYPE, NAME)\
	Q_GLOBAL_STATIC(TYPE, TYPE_##NAME);\
	TYPE* NAME()\
	{\
		return TYPE_##NAME();\
	}

DECLARE_SINGLTON_OBJECT(LoveAnimation, getLoveAnimation) ;